return {
  "rhysd/accelerated-jk",
  config = function()
    local map = vim.api.nvim_set_keymap
    local opt = {
      noremap = false,
      silent = true,
      expr = true,
      nowait = false
    }

    local t = function(str)
      return vim.api.nvim_replace_termcodes(str, true, true, true)
    end

    _G.enhance_jk_move = function(key)
      local map = key == "j" and "<Plug>(accelerated_jk_gj)" or "<Plug>(accelerated_jk_gk)"
      return t(map)
    end

    map("n", "j", "v:lua.enhance_jk_move('j')", opt)
    map("n", "k", "v:lua.enhance_jk_move('k')", opt)
  end
}
